package com.woniuxy.classteacher.service;

import com.woniuxy.commons.entity.*;
import com.woniuxy.commons.entity.wyh.TeacherInfo;
import com.woniuxy.commons.entity.wyh.TeamInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * @author 李英勇
 * @date 2020/7/16 - 16:13
 */
public interface ClassTeacherService {
    /**
     * @Author: 李英勇
     * @Description: 查询老师上传视频和视频数的service
     * @DateTime: 2020/7/28 14:43
     * @Params: []
     * @Return java.util.List<com.woniuxy.commons.entity.StudentInfo>
     */
    public List<StudentInfo> all();

    public List<Vedio> findVedioByTeacherid(int teacherid, int page, int limit);

    public long findVideoCountByTeacherid(int teacherid);

    /**
     * @Author: 李英勇
     * @Description: 通过班主任id获取到所管的所有班学生
     * @DateTime: 2020/7/28 14:45
     * @Params: [tmid]
     * @Return java.util.Map<java.lang.String, java.util.List < com.woniuxy.commons.entity.StudentInfo>>
     */
    public Map<String, List<StudentInfo>> findStudentByTmid(String refreshToken);

    /**
     * @Author: 李英勇
     * @Description: 通过tcid获取老师的信息
     * @DateTime: 2020/7/28 18:58
     * @Params: [tcid]
     * @Return com.woniuxy.commons.entity.wyh.TeacherInfo
     */
    public TeacherInfo findTeacherByTcid(int tcid);

    public List<TeamInfo> findClazz(String refreshToken);


    /**
     * @Author: 牟强
     * @Date: 2020/7/18/018 11:10
     * @Description: 批量从excel录入学生信息
     * @Param: [file] excel文件
     * @return: void
     */
    public void StudentInfoEnteringService(MultipartFile file, HttpServletRequest request, int classid);

    /**
     * @Author: 牟强
     * @Date: 2020/7/18/018 11:12
     * @Description: 修改学生密码
     * @Param: [stuid]
     * @return: void
     */
    public void updateStudentPwd(int stuid);

    /**
     * @Author: 牟强
     * @Date: 2020/7/20/020 11:07
     * @Description: 学生转班
     * @Param: [stuid, classid]
     * @return: void
     */
    public void changeClass(ChangeClass changeClass, HttpServletRequest request);

    /**
     * @Author: 牟强
     * @Date: 2020/7/20/020 12:16
     * @Description: 转班列表
     * @Param: [teacherId]
     * @return: java.util.List<com.woniuxy.commons.entity.ChangeClass>
     */
    public List<ChangeClass> changeClassList(HttpServletRequest request);

    /**
     * @Author: 牟强
     * @Date: 2020/7/21/021 11:40
     * @Description: 拒绝学生转班
     * @Param: [cId]
     * @return: void
     */
    public void refuseStudentChangeClass(int cId);

    /**
     * @Author: 牟强
     * @Date: 2020/7/21/021 14:53
     * @Description: 同意学生转班
     * @Param: [changeClass]
     * @return: void
     */
    public void consentStudentChangeClass(ChangeClass changeClass);

    /**
     * @Author: 牟强
     * @Date: 2020/7/21/021 16:29
     * @Description: 录入学生高考分数
     * @Param: [file]
     * @return: void
     */
    public void addCollegeEntranceScore(MultipartFile file, HttpServletRequest request, int classid);


    /**
     * @Author: 牟强
     * @Date: 2020/7/23/023 11:12
     * @Description: 初始化添加学生信息时的班级下拉框
     * @Param: []
     * @return: java.util.List<com.woniuxy.commons.entity.wyh.TeamInfo>
     */
    public List<TeamInfo> initEnteringStudentInfoClass(HttpServletRequest request);

    /**
     * @Author: 牟强
     * @Date: 2020/7/23/023 14:49
     * @Description: 教师上传试卷
     * @Param: [file, refreshToken, paperType]
     * @return: void
     */
    public void uploadingTestPapera(MultipartFile file, String refreshToken, int paperType, String grade);

    /**
     * @Author: 牟强
     * @Date: 2020/7/28/028 17:51
     * @Description: 初始化学生转班的所有班级
     * @Param: [request]
     * @return: java.util.List<com.woniuxy.commons.entity.wyh.TeamInfo>
     */
    public List<TeamInfo> iniChangeClass(HttpServletRequest request);
}

